package org.novelhibernate.support.logging;

import java.lang.reflect.Method;

import org.novelhibernate.exception.NovelhibernateException;

public interface DefaultExceptionHandler {

	/**
	 * Note that if the exception does not being specified handling process
	 * in this function, then NovelhibernateException should be thrown so the
	 * proxy can throw it as well
	 * 
	 * @param target
	 * @param method
	 * @param args
	 * @param t
	 * @return
	 */
	public Object doExceptionHandling (Object target, Method method, Object[] args, Throwable t) throws NovelhibernateException, Throwable;
}
